home *** CD-ROM | disk | FTP | other *** search
- The Euclid C Library (V0.02) By Paul Field
- ==========================================
-
- This software provides a simple interface to the euclid module and structures
- to aid accessing the euclid data structure. It also provides high-level
- functions for plotting functions, converting euclid pictures into sprites and
- displaying euclid pictures in windows.
-
- The important files are :
- euclidswis.h - Macros that expand to euclid SWI numbers
- cache.* - Routines to moderate use of a single cache between
- multitasking processes
- edraw.* - Provides a nice interface to 'euclid_draw'
- esprite.* - Routine to convert euclid pictures to sprites
- euclid.* - Low-level structures and code to interface to the Euclid
- module
- ewindow.* - Routines to create and manipulate windows with euclid
- pictures in them
- function.* - Routine to create graphs of functions
- shape.* - Routines to create different shapes
- Makefile - Compiles and links 'euclid_lib'
- MakeEx - Compiles and links 'example'
- (You will have to alter the make files so that they know where the
- C libraries are on your system)
-
- The program 'example' shows just about all the features of the euclid library.
- See its !Help file for details.
-
- There are likely to be two problems with the software as it stands
- i) The code is based on information in docs.structure and docs.SWIS
- (on the euclid disc) and docs.raytrace (on the arclight disc)
- which may be out of date.
- Some of the information is also inaccurate, for example some of the
- SWI numbers given in docs.SWIS are wrong :
- Euclid_Set should be &80648
- Euclid_Rotate should be &8064E
- Euclid_Zoom should be &8064D
- In ArcLight.Docs.RayTrace, Euclid_Draw:
- The information block for timed out calls is returned in R2 NOT R1.
-
- ii) The code has been tested fairly thoroughly but some of it is quite complex
- and I may not have tested all cases (especially error cases - all errors
- should be handled OK, but I haven't tested this for all cases).
- There may some problems with the structures in euclid.h - in some places
- I was unsure whether to use signed or unsigned integers.
-
- This library of routines is in an early stage of development and it will
- only grow with your help and support. Please contact me if :
- You find any bugs.
- You can suggest any improvements to the existing code.
- You can suggest new functions or modules that would be useful.
- You have written code that you would like to be included in the library.
- You just liked the software and found it useful - It is very encouraging for
- a programmer to know that the work put into a project has been worthwhile.
-
-
- Version details
- ===============
-
- V0.02 - Altered 'euclid_draw' in light of information in !Arclight.Docs.Raytrace
- - Added 'edraw', 'ewindow', 'esprite', 'shape' and 'cache' routines
- - Rewrote 'example' to show off all the new modules
-
-
- Things to do (Maybe)
- ====================
-
- 1) Sort out the palette problems that occur when you try to draw into sprites
- that have a different number of colours to the current mode.
- 2) Write 'film' - routines to load/save/create/playback etc films.
- 3) Alter 'cache' to become a more general 'process' control module and
- define the interface to a process.
- 4) Allow various objects (e.g. drawing cache/picture structure) to be in flex blocks.
- 5) Routines to convert between draw files and euclid files
- 6) Routines to handle 'object viewer windows' as in the euclid editor
- 7) Some sort of picture viewer - displays the whole euclid structure as a tree
-
-
- --------------------------------------------------------------------------------
-
- 'Free' software comes from the goodwill of programmers. They often put a lot
- of effort into software from which they receive no financial gain. However,
- to stop less altruistic people taking advantage of their work, it is standard
- practice to include some restrictions on copying for profit and the use of the
- software.
-
-
- Here are the restrictions for the 'Euclid C library' software V0.02.
-
- Distribution:
- This software may be freely copied as long as no profit is made from its
- distribution (a reasonable copying and media charge may be made) and all
- files are included unchanged.
-
- Usage:
- This software may be used in other programs (excluding commercial software)
- as long as identification of this software and its author is made in any
- program credits.
- For permission to use the library in commercial software please contact
- the author.
-
- Modifications:
- The distribution of modified versions of the software is prohibited
- (see distribution). If you have made an alteration to the software, send me
- details of the change and I may include the alteration in a new version of
- the software (which I will send to you). I retain copyright of the code at
- all times.
-
-
- These restrictions apply to version 0.02 of the software and I reserve the
- right to change them for future versions of the software.
-
-
- Paul Field
- 3, Little Heath
- Chadwell Heath
- Romford
- Essex
- RM6 4XX
-
- email: paulf@dcs.qmw.ac.uk (Until the end of 1994)
-